package com.goldgov.code.template;

import java.util.Map;

import com.goldgov.code.meta.ModuleInfo;
import com.goldgov.code.template.point.PointMapping;

public interface Layout {

	
	void init(ModuleInfo moduleInfo);
	/**
	 * 输出时代码所在的包路径位置，如果返回null，则与{@link #templatePath()}一致
	 * @return
	 */
	String packageName();
	
	/**
	 * 模版所在的子目录位置，如果返回null，表示根目录
	 * @return
	 */
	String templatePath();
	
	Class<?>[] dependOn();
	
	PointMapping codePoint(String packageName,ModuleInfo moduleInfo,Group group,Map<String,Object> paramMap);
}
